Skip to content

fix(docs): correct model capability field names and web-search examples - #86

Merged
hMED22 merged 3 commits into
mainfrom
ahmednemdil/eng-70-docs-model-capability-field-names-are-all-wrong-and-web
Jul 28, 2026
Merged

fix(docs): correct model capability field names and web-search examples#86
hMED22 merged 3 commits into
mainfrom
ahmednemdil/eng-70-docs-model-capability-field-names-are-all-wrong-and-web

Conversation

@hMED22

@hMED22 hMED22 commented Jul 28, 2026

Copy link
Copy Markdown
Member

Fixes ENG-70.

Problem

The /v3/models capabilities object was documented with field names that don't exist (pdf / reasoning / web_search / tool_calling); the API returns supports_* keys. Filtering on the documented names silently matches nothing: the documented "find models where capabilities.web_search is true" workflow reported 0 of 820 models. On top of that, two of the three web-search examples used models that fail (openai/gpt-5.2 returns 200 but performs no search while billing; openai/gpt-4o returns 400).

Changes

v3/llms/listing-models.mdx

  • Capabilities table now documents the real fields (supports_web_search, supports_reasoning, supports_function_calling, input_modalities, ...), verified against the live API (820 models), plus a note about sparse provider-specific keys and "capabilities": null
  • Response example replaced with a real google/gemini-flash-latest entry from the API, which also demonstrates a populated alias_of field
  • Model-aliases section updated to lead with real *-latest aliases and explain alias_of

v3/llms/web-search.mdx

  • Supported-models instruction now filters on capabilities.supports_web_search, with a tested Python snippet that tolerates sparse capability objects (guarding against this class of field-name drift remains with ENG-23)
  • All examples switched to google/gemini-flash-latest: the working Gemini family, via a stable alias so no hardcoded version (verified present on prod and staging with supports_web_search: true)
  • New warning documenting that regular OpenAI models only support web search via the Responses API; on chat completions only the dedicated search variants (openai/gpt-4o-search-preview, openai/gpt-5-search-api) perform searches

v3/data-governance/eu-endpoint.mdx

  • Stale capabilities object in the regions example updated to the real field names

Out of scope

Which models actually perform searches (vs. advertise it: the API still returns supports_web_search: true for openai/gpt-4o, which 400s) is ENG-69; the docs deliberately avoid enumerating models so nothing here depends on that fix.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated model discovery guidance with expanded capability details, including input modalities, reasoning, web search, and function calling.
    • Clarified stable aliases, versioned snapshots, regional availability, pricing, and capability handling.
    • Documented that the model listing endpoint is publicly accessible without an API key.
    • Refreshed web search examples with current Gemini models and guidance for identifying supported models.

The /v3/models capabilities object was documented with field names that
do not exist (pdf/reasoning/web_search/tool_calling); the API returns
supports_* keys. Filtering on the documented names silently matches
nothing, so the documented "find web-search models" workflow could
never work.

- Document the real capability fields (supports_web_search,
  supports_reasoning, supports_function_calling, input_modalities, ...)
  and replace the invented response example with a real API entry
- Fix the supported-models instruction to filter on
  capabilities.supports_web_search, with a tested snippet that fails on
  future field-name drift
- Switch web-search examples from openai/gpt-5.2 (200 but no search)
  and openai/gpt-4o (400) to google/gemini-flash-latest — a stable
  alias, so no hardcoded model version
- Document that regular OpenAI models only support web search via the
  Responses API; on chat completions only the dedicated search
  variants perform searches
- Fix the stale capabilities object in the EU endpoint example
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c2aed3ff-f1c5-49c3-ac8f-4d5aeb99ecba

📥 Commits

Reviewing files that changed from the base of the PR and between b55ac2d and b77dcf9.

📒 Files selected for processing (2)
  • v3/llms/listing-models.mdx
  • v3/llms/web-search.mdx
🚧 Files skipped from review as they are similar to previous changes (2)
  • v3/llms/listing-models.mdx
  • v3/llms/web-search.mdx

Walkthrough

The documentation updates expand model capability schemas, catalog response examples, alias guidance, and web-search instructions. Examples now use updated capability fields, richer model metadata, and google/gemini-flash-latest.

Changes

Model capability documentation

Layer / File(s) Summary
Catalog contract and examples
v3/llms/listing-models.mdx, v3/data-governance/eu-endpoint.mdx
Model catalog documentation now covers input modalities, expanded support flags, richer pricing, regions, aliases, and supports_* capability fields.
Aliases and capability interpretation
v3/llms/listing-models.mdx
Alias guidance distinguishes stable aliases from pinned snapshots, while capability documentation addresses provider-specific keys and missing or null values.
Web-search model guidance
v3/llms/web-search.mdx
Examples use google/gemini-flash-latest; model discovery filters on capabilities.supports_web_search, with updated OpenAI behavior guidance.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Poem

A rabbit hops through models bright,
With flags and aliases tucked in tight.
Gemini searches, fresh and fast,
While stable names outlive the past.
“Capabilities bloom!” the rabbit sings,
And nibbles docs with speedy springs.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main documentation updates to capability field names and web-search examples.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ahmednemdil/eng-70-docs-model-capability-field-names-are-all-wrong-and-web

Comment @coderabbitai help to get the list of available commands.

@mintlify

mintlify Bot commented Jul 28, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
edenai 🟢 Ready View Preview Jul 28, 2026, 3:32 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@v3/llms/listing-models.mdx`:
- Around line 124-137: Add `supports_native_streaming` and
`supports_embedding_image_input` to the standard capability-fields table in the
model listing documentation, with concise descriptions matching the response
example and existing field style. Keep the provider-specific-key guidance
unchanged.

In `@v3/llms/web-search.mdx`:
- Around line 113-117: Update the web_search_models comprehension to safely
handle capability objects missing supports_web_search, treating those models as
unsupported rather than raising KeyError. Preserve inclusion only for models
with non-null capabilities that explicitly enable supports_web_search.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a346d006-5316-4799-b587-62f2d65e6d9d

📥 Commits

Reviewing files that changed from the base of the PR and between 248b63d and f98dc4f.

📒 Files selected for processing (3)
  • v3/data-governance/eu-endpoint.mdx
  • v3/llms/listing-models.mdx
  • v3/llms/web-search.mdx

Comment thread v3/llms/listing-models.mdx Outdated
Comment thread v3/llms/web-search.mdx
@mintlify

mintlify Bot commented Jul 28, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
edenai 🟡 Building Jul 28, 2026, 3:32 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

- Document supports_native_streaming and supports_embedding_image_input,
  completing the table against the response example
- Make the web-search filter snippet tolerate sparse capability
  objects, matching the documented "missing key means unsupported"
  guidance
- Spelling and punctuation cleanups
The /v3/models endpoint is public, so the samples no longer send an
Authorization header (the EU-endpoint page already called it bare).
Also point the web-search supported-models section at the visual
model catalog, which supports filtering by capability.
@hMED22
hMED22 merged commit 8f26774 into main Jul 28, 2026
6 checks passed
@hMED22
hMED22 deleted the ahmednemdil/eng-70-docs-model-capability-field-names-are-all-wrong-and-web branch July 28, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant